package modelo;
import bean.Conexion;

import java.awt.Image;
import java.io.File;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;


public class CompraDAO  extends ConexionDao{

	public CompraDAO() {
		super();	
	
	}	
	

	/*String String id_compr, Date fecha_compr,
			Proveedor idproveedor_compr, ArrayList<DetalleCompra> detalles_compr */

	public void registrarCliente(Compra compra) {
		String tiraSQL = "INSERT INTO compra "+
		 				 "(id_compr, fecha_compr, idproveedor_compr) "+
		 				 "VALUES ('"+compra.getId_compr()+"', '"+compra.getFecha_compr()+
		 				 "','" + compra.getIdproveedor_compr().getId_prove() +"')";
		Conexion.ejecutar(tiraSQL);
	}
	
	
	public ArrayList<Compra> consultarCcompra() {
		ArrayList<Compra> compras = new ArrayList<Compra>();
		String tiraSQL = "SELECT * FROM compra";
		ResultSet resultSet = Conexion.consultar(tiraSQL);	
		ProveedorDAO proveedorDAO = null;
	    Proveedor proveedor;
	    DetalleCompraDAO detalleCompraDAO;
	    ArrayList<DetalleCompra> arrayDC = null;
		try {
			while (resultSet.next()) {
				
				String id = resultSet.getString("id_compr");
				Date fecha = resultSet.getDate("fecha_compr");
				String idproveedor_compr = resultSet.getString("idproveedor_compr");
				
				proveedor = proveedorDAO.consultarProveedorPorID(idproveedor_compr);
				arrayDC = null;
				
				Compra compra = new Compra(id, fecha, proveedor, arrayDC);
				compras.add(compra);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return compras;
	}
	
	public Compra consultarCompraPorID(String ids) {
		
		Compra compra = null;
		
		String tiraSQL = "SELECT * FROM compra where id_compr ='"+ ids + "'";
		ResultSet resultSet = Conexion.consultar(tiraSQL);	
		
		ProveedorDAO proveedorDAO = null;
	    Proveedor proveedor;
	    DetalleCompraDAO detalleCompraDAO;
	    ArrayList<DetalleCompra> arrayDC = null;
		
		try {
			while (resultSet.next()) {
				
				String id = resultSet.getString("id_compr");
				Date fecha = resultSet.getDate("fecha_compr");
				String idproveedor_compr = resultSet.getString("idproveedor_compr");
				
				proveedor = proveedorDAO.consultarProveedorPorID(idproveedor_compr);
				arrayDC = null;
				
				 compra = new Compra(id, fecha, proveedor, arrayDC);
				
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return compra;			
}

	
	// Modificar
	public void modificarCompra(Compra compra) {
		
		String tiraSQL = "UPDATE compra SET id_compr = '" + compra.getId_compr() + "', fecha_compr = '"+ compra.getFecha_compr()+		 
				"', idproveedor_compr = '" + compra.getIdproveedor_compr().getId_prove() + " WHERE id_clien ='" + compra.getId_compr() + "'";
				
		Conexion.ejecutar(tiraSQL);
	}
	
	
	// Eliminacion Fisica
		public void eliminarFisicaCompra(String id) {
			String tiraSQL =  "DELETE FROM compra WHERE id_compr = '"+ id + "'";
									
			Conexion.ejecutar(tiraSQL);
		}

		

		// Eliminacion Logica
		public void eliminarLogicaCompra(Compra compra) {
			//Estatus cuando se elimina es "inactivo"?
			
			String tiraSQL = "UPDATE compra SET id_compr = '" + compra.getId_compr() + "', fecha_compr = '"+ compra.getFecha_compr()+		 
					"', idproveedor_compr = '" + compra.getIdproveedor_compr().getId_prove() + " WHERE id_clien ='" + compra.getId_compr() + "'";
					
			Conexion.ejecutar(tiraSQL);
		}

		
		
		
}
